草庐IT

TCP 与可靠的 UDP

全部标签

c# - 在 .NET 中指定 UDP 多播应该转到的网络接口(interface)

在一台同时具有事件无线网卡和LAN端口并通过交叉电缆连接到另一台运行相同应用程序的计算机的计算机上,我们需要通过LAN线向另一台计算机发送UDP多播。使用C#套接字,Windows似乎每次都尝试通过WLAN适配器路由消息。有没有办法指定在哪个网络接口(interface)上发送UDP多播? 最佳答案 正如Nikolai回答的附录:KB318911的问题是一个肮脏的把戏,用户必须提供必要的适配器索引。在寻找如何检索此适配器索引时,我想出了这样的方法:NetworkInterface[]nics=NetworkInterface.Get

c# - 如何在 C# 中创建 UDP 服务器?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:C#HowtomakeasimpleUDPserver我想用C#创建一个UDP服务器。我怎么做?如何自定义它监听的端口(即1212)?

c# - TCP 错误代码 10061 : No connection could be made because the target machine actively refused it

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。Couldnotconnecttonet.tcp://localhost:5051/user.Theconnectionattemptlastedforatimespanof00:00:02.0600206.TCPerrorcode10061:Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit127.0.0.1:5051.

c# - 计划任务或服务的容错和可靠性最佳实践

我一直在研究许多作为Windows服务或计划任务运行的应用程序。现在,我想确保这些应用程序具有容错性和可靠性。例如;我有一项每小时运行一次的服务。如果服务在操作或运行时崩溃,我希望应用程序在同一时期再次运行(这涉及几件事,包括数据处理事务),以避免数据丢失。此外,我希望程序能够详细报告错误。我的目标是避免数据丢失并且不落后于运行程序。我构建了一个类库,用户可以将其导入到项目中。图书馆应该保留程序运行实例的信息,即。程序读写运行间隔、运行状态等信息,这些数据存储在数据库中。我很好奇,是否有一些最佳实践可以使计划任务/Windows服务具有容错性和可靠性。编辑:我说的是在不同服务器上的独立

c# - 如何可靠地比较两个 PropertyInfos 或方法?

方法也一样:我得到了两个PropertyInfo实例或方法,它们是通过GetProperty()或GetMember()等从它们所在的类中提取的(或从MemberExpression也许)。我想确定它们实际上是指相同的属性还是相同的方法(propertyOne==propertyTwo)或(methodOne==methodTwo)显然这不会真正起作用,您可能正在查看相同的属性,但它可能是从类层次结构的不同级别提取的(在这种情况下,通常propertyOne!=propertyTwo)当然,我可以查看DeclaringType,然后重新请求该属性,但是当您开始考虑时,这会开始变得有点困

c# - 通过比较它们的序列化字节数组来比较一个类的两个实例是否可靠?

给定一个类的两个实例,通过先将它们序列化然后比较字节数组(或可能的数组哈希)来比较它们是否是一种良好且可靠的做法。这些对象可能具有复杂的层次结构属性,但序列化应根据需要深入。通过比较,我的意思是确保原始类型的所有属性具有相等值、复杂类型的属性具有原始类型的相等属性等的过程。至于集合属性,它们应该彼此相等:相等的元素,相同的位置:{'a','b','c'}!={'a','c','b'}{newCustomer{Id=2,Name="abc"},newCustomer{Id=3,Name="def"}}!={newCustomer{Id=3,Name="def"},newCustomer{

c# - 通过 Internet 传输大文件的可靠且快速的方法

我正在处理涉及许多客户端PC和一些服务器计算机的设置。我需要在这些PC之间组织一种可靠且快速的文件传输方法,该方法将由在两台电脑上运行的C#应用程序启动。任何客户端都可能希望从任何服务器发送/接收数据。选项是:FTP-使用FtpWebRequest或SOSFTP将文件上传到FTP服务器。服务器检查其文件系统上的新文件并执行所需的步骤。SCP-安全文件传输。用法与FTP相同,但增加了机器之间的安全性。可能比FTP慢。DropBox/Box.Net-使用带有库的在线云存储解决方案,例如SharpBox.可能是免费/付费的。考虑到该方拥有您的文件,可能不太安全。UDP-使用类似EME的库或G

c# - 向所有可用网卡广播 UDP 消息

我需要向特定IP和端口发送UDP消息。由于有3张网卡,10.1.x.x10.2.x.x10.4.x.x当我发送一条UDP消息时,我只在一个网络适配器中接收消息...其余的ip没有接收到。我想在发送消息时检查网络适配器。我该怎么做?目前我使用的是:IPEndPointlocalEndPoint=newIPEndPoint(IPAddress.Parse(LocalIP),0);IPEndPointtargetEndPoint=newIPEndPoint(TargetIP,iTargetPort);UdpClientsendUdpClient=newUdpClient(localEndPo

c# - 给定服务器的 IP 地址和端口,如何使用 C# 测试到服务器的 TCP 连接?

如何以编程方式使用C#确定我是否可以访问具有给定IP地址和端口的服务器(TCP)? 最佳答案 您可以使用Ping类(.NET2.0及更高版本)Pingx=newPing();PingReplyreply=x.Send(IPAddress.Parse("127.0.0.1"));if(reply.Status==IPStatus.Success)Console.WriteLine("Addressisaccessible");您可能希望在生产系统中使用异步方法来允许取消等。 关于c#-给定

c# - 通过 tcp 或套接字发送类型化对象

我在为我在Xna中制作的一个非常简单的游戏创建网络接口(interface)时遇到了麻烦。我只需要通过TCP客户端/套接字发送对象。前任:我有一个名为“播放器”的类。在每个Player中,都有一个名为“Info”的字段,类型为“PlayerInfo”。在客户端/服务器中,我需要将每个玩家的信息发送给每个客户端,除了发送它的客户端(显然)。这是一个简单的例子,但我需要用大约5到10个对象来做这件事,再加上发送玩家更新(位置、Action……)有没有一种简单的方法可以用TCP/Sock做到这一点?注意:我将我在C#和编程方面的知识评为6/10,因此如果您有解决方案,则无需解释所有内容(例如